Skip to content

6.0 代理开发(Agent Development)

本章介绍 LangChain 代理的开发工具、测试方法和用户界面。


概述

开发 LangChain 代理不仅需要编写代码,还需要一套完整的开发工具链来支持调试、测试和用户交互。本章将介绍 LangChain 生态系统中的三个核心开发组件:

┌─────────────────────────────────────────────────────────────────┐
│                    Agent 开发工具链                               │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐  │
│  │  LangSmith      │  │     Test        │  │   Chat UI       │  │
│  │    Studio       │  │                 │  │                 │  │
│  ├─────────────────┤  ├─────────────────┤  ├─────────────────┤  │
│  │ - 可视化调试    │  │ - 单元测试      │  │ - 对话界面      │  │
│  │ - 实时交互      │  │ - 集成测试      │  │ - 工具可视化    │  │
│  │ - 状态检查      │  │ - 轨迹评估      │  │ - Artifact 展示 │  │
│  │ - 时间旅行      │  │ - LLM 裁判      │  │ - 生产部署      │  │
│  └─────────────────┘  └─────────────────┘  └─────────────────┘  │
│                                                                  │
│        开发调试              质量保证              用户交互       │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

开发工作流

┌─────────────┐     ┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   编写代码   │────▶│  Studio     │────▶│    测试     │────▶│   Chat UI   │
│             │     │  可视化调试  │     │   验证行为   │     │   用户交互   │
└─────────────┘     └─────────────┘     └─────────────┘     └─────────────┘
       ▲                   │                   │                   │
       └───────────────────┴───────────────────┴───────────────────┘
                              迭代改进

本章内容

章节内容说明
6.1 LangSmith Studio可视化开发环境Agent IDE,支持图可视化、状态检查、时间旅行调试
6.2 Test测试策略单元测试、集成测试、轨迹评估、LLM 裁判
6.3 Agent Chat UI聊天界面基于 Next.js 的 Web 应用,支持工具可视化和 Artifact 渲染

工具概览

LangSmith Studio

专业的 Agent IDE,提供:

  • 图架构可视化:查看代理执行流程
  • 实时交互:无需部署即可测试
  • 时间旅行调试:从任意步骤重新运行
  • 热重载:代码更改自动生效
bash
# 启动开发服务器
langgraph dev

测试框架

支持多种测试策略:

  • 单元测试:Mock 模型,快速反馈
  • 集成测试:真实 LLM,端到端验证
  • 轨迹评估:验证代理行为一致性
  • LLM 裁判:定性评估代理表现
python
# Mock 测试示例
from langchain_core.language_models import GenericFakeChatModel

fake_model = GenericFakeChatModel(
    messages=iter([AIMessage(content="Mock response")])
)

Agent Chat UI

开源聊天界面,支持:

  • 多语言代理:Python 和 TypeScript
  • 工具可视化:自动渲染工具调用
  • Artifact 渲染:侧边面板展示内容
  • 生产就绪:支持多种认证方式
bash
# 创建聊天界面项目
npx create-agent-chat-app --project-name my-chat-ui

快速开始

1. 创建代理

python
# src/agent.py
from langgraph.graph import StateGraph, MessagesState, START, END
from langchain_openai import ChatOpenAI
from langchain_core.tools import tool

@tool
def search(query: str) -> str:
    """搜索信息"""
    return f"搜索结果: {query}"

model = ChatOpenAI(model="gpt-4o").bind_tools([search])

# 构建图
graph = StateGraph(MessagesState)
# ... 添加节点和边 ...
agent = graph.compile()

2. 使用 Studio 调试

bash
# 启动开发服务器
langgraph dev

# 访问 Studio
# https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024

3. 编写测试

python
# tests/test_agent.py
import pytest
from langchain_core.language_models import GenericFakeChatModel

def test_agent_response():
    fake_model = GenericFakeChatModel(...)
    agent = create_agent(model=fake_model)
    result = agent.invoke({"messages": [{"role": "user", "content": "hi"}]})
    assert len(result["messages"]) > 0

4. 启动 Chat UI

bash
# 创建并启动聊天界面
npx create-agent-chat-app --project-name my-chat
cd my-chat && pnpm dev

推荐学习路径

  1. 开发阶段:使用 LangSmith Studio 进行可视化调试
  2. 测试阶段:编写单元测试和集成测试
  3. 交付阶段:使用 Agent Chat UI 提供用户界面

上一章5.8 Long-term Memory

下一章7.0 Deploy with LangSmith

基于 MIT 许可证发布。内容版权归作者所有。